Modern day data networks include a number of remotely managed data network devices. Increasingly, the remote management of such devices has become more complex as subscribers to a network have demanded different services and as operators of a network have required new management tools.
The ability to support all of the services required by subscribers and the management needs of operators is a significant challenge. Today, it is not uncommon for a data network device to be connected with a number of different devices, called “clients” or “agents” (collectively referred to hereafter as “agent”) each supplying a separate service to a subscriber. Unfortunately, each of these agents communicates with the data network device using different “management transaction requests.” For example, each of these agents may attempt to send configuration changes to the data network device using instructions that are in a different protocol, format and/or a representation.
Because of this, data network devices, such as routers, must be designed to interpret or convert many different management transaction requests. This increases the cost of designing such a device.
It is, therefore, desirable to provide common management transaction requests which can be used by any number of agents to communicate configuration (or reconfigurations as the case may be) changes to a data network device.
One software language, called extensible mark-up language (XML) shows promise as a language that can be used to create a framework or structure within which such common management transaction requests can be created.
XML has been used in a network telecommunications environment before. One technique seeks to create architectures for XML-based, network management agents. To date, however, this technique has not been able to realize the potential flexibility and performance benefits believed possible.
In addition to subsystem interfaces, a number of leading data networking equipment vendors have employed XML-based representations and technologies within network management systems and managed agents/devices. These representations and technologies have their drawbacks, however, because they still require a significant amount of time to input, send and process configuration commands to a data network device or because they require the configuration of a data network device to be “locked” during a reconfiguration process. The latter being undesirable because it forces the data network device to handle reconfiguration related management transaction requests from individual users one at a time in order to avoid the possibility that an individual user's reconfigurations may be written over and therefore lost.
It is, therefore, also desirable to provide methods and devices that process management transaction requests as fast as possible and allow multiple users to send reconfiguration-based management transaction requests to a data network device without locking the present configuration of a data network device or one of its subsystems.
One type of program, called a command line interface (CLI), is commonly used to communicate configuration related management transaction requests to a data network device (e.g., TCP/IP routers, multi-protocol label switching (MPLS) switches, etc.). However, because of the cost involved in developing CLIs, existing CLIs do not provide a functionally complete or efficient means of reconfiguring a data network device.
It is, therefore, additionally desirable to provide for CLIs that provide full access to the management capabilities of a data network device or an associated subsystem.
In addition to being able to send configuration information to a data network device, users also need to periodically obtain the present configuration of one or more subsystems of a data network device.
Therefore, it is further desirable to provide means for obtaining such configurations using common management transaction requests.